package org.example.mall.admin.mapper.manage;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
import org.example.mall.admin.model.entity.manage.Account;
import org.example.mall.admin.model.vo.manage.AccountVo;

/**
 * <p>
 * 用户信息 Mapper 接口
 * </p>
 *
 * @author hzq
 * @since 2021-12-29
 */
public interface AccountMapper extends BaseMapper<Account> {

    /**
     * 删除用户所在部门
     *
     * @param deptId 部门id
     */
    void setDeptIsNull(@Param("deptId") Integer deptId);

    /**
     * 分页查询用户信息
     *
     * @param page    分页参数
     * @param account 查询参数
     * @return 用户列表
     */
    IPage<AccountVo> getPage(Page page, @Param("query") Account account);

    /**
     * 设置邮箱为空
     * 针对修改/绑定邮箱时
     *
     * @param email 邮箱
     */
    void setEmailIsNull(@Param("email") String email);

    /**
     * 设置手机号为空
     * 针对修改/绑定手机号时
     *
     * @param phone 手机号
     */
    void setPhoneIsNull(@Param("phone") String phone);
}
